package com.project.entity.activity;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.apache.commons.lang3.StringUtils;

import com.dtyunxi.dto.BaseDto;
import com.project.common.Constants;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@Entity
@Table(name="B_ACTIVITY")
@ApiModel(value="活动管理")
public class Activity extends BaseDto{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8824405698127752513L;

	@ApiModelProperty(value="活动名称")
	@Column
	private String name;//活动名称
	
	@ApiModelProperty(value="活动开始日期")
	@Temporal(TemporalType.TIMESTAMP)
	@Column
	private Date activityStartDate;//活动结束时间
	
	@ApiModelProperty(value="活动结束日期")
	@Temporal(TemporalType.TIMESTAMP)
	@Column
	private Date activityEndDate; //活动结束时间
	
	@ApiModelProperty(value="报名开始日期")
	@Temporal(TemporalType.DATE)
	@Column
	private Date registrationStartTime;//报名开始日期
	
	@ApiModelProperty(value="报名结束日期")
	@Temporal(TemporalType.DATE)
	@Column
	private Date registrationEndTime; //报名结束日期
	
	@ApiModelProperty(value="省")
	@Column
	private String province;//省
	
	@ApiModelProperty(value="市")
	@Column
	private String city;//市
	
	@ApiModelProperty(value="区")
	@Column
	private String district;//区
	
	@ApiModelProperty(value="地址")
	@Column
	private String address;//地址
	
	@ApiModelProperty(value="走进阿里内容")
	@Column
	private String aliContent;//标题
	
	@ApiModelProperty(value="内容")
	@Column
	private String content;//内容
	
	@ApiModelProperty(value="二维码图片地址")
	@Column
	private String qrcodeUrl;//二维码图片地址
	
	@ApiModelProperty(value="封面图片url")
	@Column
	private String coverPicUrl;//封面图片url
	
	@ApiModelProperty(value="发布状态(N:未发布P:已发布)")
	@Column
	private String publishStatus;//发布状态(N:未发布P:已发布)
	
	@ApiModelProperty(value="创建人")
	@Column
	private String createUser;//创建人
	
	@ApiModelProperty(value="创建时间")
	@Column
	private Date createTime;//创建时间
	
	@ApiModelProperty(value="修改人")
	@Column
	private String updateUser;//修改人
	
	@ApiModelProperty(value="状态")
	private String status;//状态
	
	@ApiModelProperty(value="当前用户是否参加过该活动的判断依据（待审核、已取消、已通过、未通过）")
	private String isJoin;
	
	private List<ActivityGuest> activityGuestList;//活动特邀嘉宾
	
	public List<ActivityGuest> getActivityGuestList() {
		return activityGuestList;
	}

	public void setActivityGuestList(List<ActivityGuest> activityGuestList) {
		this.activityGuestList = activityGuestList;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@ApiModelProperty(value="封面图片地址")
	public String getRealCoverPicUrl() {
		return StringUtils.isBlank(this.coverPicUrl)?null:Constants.OBJECT_STORAGE_URL_DOWNLOAD_IMAGE + this.coverPicUrl;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getActivityStartDate() {
		return activityStartDate;
	}

	public void setActivityStartDate(Date activityStartDate) {
		this.activityStartDate = activityStartDate;
	}

	public Date getActivityEndDate() {
		return activityEndDate;
	}

	public void setActivityEndDate(Date activityEndDate) {
		this.activityEndDate = activityEndDate;
	}

	public Date getRegistrationStartTime() {
		return registrationStartTime;
	}

	public void setRegistrationStartTime(Date registrationStartTime) {
		this.registrationStartTime = registrationStartTime;
	}

	public Date getRegistrationEndTime() {
		return registrationEndTime;
	}

	public void setRegistrationEndTime(Date registrationEndTime) {
		this.registrationEndTime = registrationEndTime;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getDistrict() {
		return district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getAliContent() {
		return aliContent;
	}

	public void setAliContent(String aliContent) {
		this.aliContent = aliContent;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getQrcodeUrl() {
		return qrcodeUrl;
	}

	public void setQrcodeUrl(String qrcodeUrl) {
		this.qrcodeUrl = qrcodeUrl;
	}

	public String getCoverPicUrl() {
		return coverPicUrl;
	}

	public void setCoverPicUrl(String coverPicUrl) {
		this.coverPicUrl = coverPicUrl;
	}

	public String getPublishStatus() {
		return publishStatus;
	}

	public void setPublishStatus(String publishStatus) {
		this.publishStatus = publishStatus;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getUpdateUser() {
		return updateUser;
	}

	public void setUpdateUser(String updateUser) {
		this.updateUser = updateUser;
	}

	public String getIsJoin() {
		return isJoin;
	}

	public void setIsJoin(String isJoin) {
		this.isJoin = isJoin;
	}
	
}
